package com.wicket.okrbff.biz.service.dto.common;


import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;


/**
 * @desc BffEvalThemeDto
 * @使用场景
 */
@Data
public class BffEvalThemeDto implements Serializable {

    /**
     * 评价主题ID
     */
    @ApiModelProperty("评价主题ID")
    private String evaluationSubjectId;

    /**
     * 评价主题名称
     */
    @ApiModelProperty("评价主题名称")
    private String evaluationSubjectName;

    /**
     * 评价主题标识
     */
    @ApiModelProperty("评价主题标识")
    private String evaluationSubjectCode;

    /**
     * 操作人就职记录ID
     */
    @ApiModelProperty("操作人就职记录ID")
    private String operationInductionId;

    /**
     * 真实头像
     */
    @ApiModelProperty("真实头像")
    private String userFace;

    /**
     * 真实姓名
     */
    @ApiModelProperty("真实姓名")
    private String idCardName;

    /**
     * 用户昵称
     */
    @ApiModelProperty("用户昵称")
    private String nickName;

    /**
     * 操作时间
     */
    @ApiModelProperty("操作时间")
    private Date operateTime;

    /**
     * 主体生命周期
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;
/**
     * 冗余配置方案ID 
     */
    @ApiModelProperty("冗余配置方案ID ")
    private String	 confSchemeId;

    /**
     * 冗余配置方案标识 
     */
    @ApiModelProperty("冗余配置方案标识")
    private String	 confSchemeCode;

    /**
     * 评价模板配置方案标识 
     */
    @ApiModelProperty("评价模板配置方案标识")
    private String	 evaTempConfSchemeCode;

    /**
     * 标题文案 
     */
    @ApiModelProperty("标题文案")
    private String	 headCopywriter;

    /**
     * 模板方案简述 
     */
    @ApiModelProperty("模板方案简述")
    private String	 evaThemeSketch;

    /**
     * 按钮提示文案 
     */
    @ApiModelProperty("按钮提示文案")
    private String	 buttonCopywriter;

    /**
     * 媒体内容地址 
     */
    @ApiModelProperty("媒体内容地址")
    private String	 mediaContentAddress;
/**
     * 评价主题类型编码  
     */
    @ApiModelProperty("评价主题类型编码 ")
    private String	 evaluationSubjectTypeCode;

    @Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      BffEvalThemeDto that = (BffEvalThemeDto) o;
      return  evaluationSubjectId == that.evaluationSubjectId&&evaluationSubjectName == that.evaluationSubjectName&&evaluationSubjectCode == that.evaluationSubjectCode&&operationInductionId == that.operationInductionId&&userFace == that.userFace&&idCardName == that.idCardName&&nickName == that.nickName&&operateTime == that.operateTime&&subjectLifeCycle == that.subjectLifeCycle&&confSchemeId == that.confSchemeId&&confSchemeCode == that.confSchemeCode&&evaTempConfSchemeCode == that.evaTempConfSchemeCode&&headCopywriter == that.headCopywriter&&evaThemeSketch == that.evaThemeSketch&&buttonCopywriter == that.buttonCopywriter&&mediaContentAddress == that.mediaContentAddress&&evaluationSubjectTypeCode == that.evaluationSubjectTypeCode;
    }

    @Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), evaluationSubjectId,evaluationSubjectName,evaluationSubjectCode,operationInductionId,userFace,idCardName,nickName,operateTime,subjectLifeCycle,confSchemeId,confSchemeCode,evaTempConfSchemeCode,headCopywriter,evaThemeSketch,buttonCopywriter,mediaContentAddress,evaluationSubjectTypeCode);
    }



}
   